from pandas import read_csv
from datetime import datetime
from data_wash import utils
import os
import math
import datetime
import numpy as np
import re
from pandas import read_csv


def parse(x):
    return datetime.strptime(x, '%Y %m %d %H')

result_root = os.path.abspath('result')
pre_tem_root = os.path.abspath('result/qinghai')  # 临时站点数据存放
if not os.path.exists(result_root):
    os.mkdir(result_root)
if not os.path.exists(pre_tem_root):
    os.mkdir(pre_tem_root)

"""
   陕西
   53646 榆 林 3814N 
   57127 汉 中 3304N 
   57131 泾 河 3426N
   甘肃
   52533 酒 泉 3946N 
   52681 民 勤 3838N 
   52787 乌鞘岭 3712N 
   52884 皋 兰 3621N 
   53915 平 凉 3533N  
   56080 合 作 3500N 
   56096 武 都 3324N 
   57006 天 水 3435N 
   57014 天水北道区 3434N 
   青海
   52602 冷 湖 3845N 
   52818 格尔木 3625N 
   52836 都 兰 3618N 
   52866 西 宁 3643N 
   52955 贵 南 3535N 
   52957 同 德 3516N 
   56004 托托河 3413N
   56021 曲麻菜 3408N 
   56029 玉 树 3301N  
   56033 玛 多 3455N 
   56046 达 日 3345N 
   """
station_latitude = np.array([[52533, 39.46],
                             [52681, 38.38],
                             [52787, 37.12],
                             [52884, 36.21],
                             [53915, 35.33],
                             [56080, 35.00],
                             [56096, 33.24],
                             [57006, 34.35],
                             [57014, 34.34],
                             [53646, 38.14],
                             [57127, 33.04],
                             [57131, 34.26],
                             [52602, 38.45],
                             [52818, 36.25],
                             [52836, 36.18],
                             [52866, 36.43],
                             [52955, 35.35],
                             [52957, 35.16],
                             [56004, 34.13],
                             [56021, 34.08],
                             [56029, 33.01],
                             [56033, 34.55],
                             [56046, 33.45]])
station_latitude_list = station_latitude.flatten().tolist()
if __name__ == '__main__':

    f = open('E:\lyf_ML_Drought\coding\ML_Drought_Prediction\meteorological_data\QINGHAI_DATA\QingHai_data_interpolated_index9-16.txt', 'r')
    alllines = f.readlines()
    for i in range(0, len(alllines)):
        alllines[i] = alllines[i].strip('\n').split(' ')
        if i is 0:
            #  0的时候不是数据
            continue
        else:
            station = int(float(alllines[i][0]))  # 站点编号
            fp = os.path.join(pre_tem_root, 'RELATE_INDICES' + str(station) + '.txt')
            fw = open(fp, 'a+')
            latitude = station_latitude_list[station_latitude_list.index(int(station))+1] # 纬度
            year = int(float(alllines[i][1])) # 年
            month = int(float(alllines[i][2])) # 月
            precipitation = utils.data_filter(alllines[i][9]) # 降水
            average_air_pressure = utils.data_filter(alllines[i][10]) # 平均气压
            temperature = utils.data_filter(alllines[i][12]) # 平均气温
            average_water_air_pressure = utils.data_filter(alllines[i][13])  # 平均水气压
            humidity = utils.data_filter(alllines[i][14])  # 平均相对湿度
            low_temp = utils.data_filter(alllines[i][15])  # 平均最低气温
            high_temp = utils.data_filter(alllines[i][16])  # 平均最高气温
            print(year, month, latitude, precipitation, average_air_pressure,temperature)
            fw.write(str(year) + ',' + str(month) + ',' + str(latitude) + ',' + str(precipitation) + ',' +
                     str(average_air_pressure) + ',' + str(temperature)+','+str(average_water_air_pressure)+',' +
                     str(humidity) + ',' + str(low_temp) + ',' + str(high_temp) + '\n')
    f.close()

    # # 将数据处理好看
    # dataset = read_csv('raw.csv', parse_dates=[['year', 'month', 'day', 'hour']], index_col=0, date_parser=parse)
    # # 手动指定列名
    # dataset.columns = ['pollution', 'dew', 'temp', 'press', 'wnd_dir', 'wnd_spd', 'snow', 'rain']
    # dataset.index.name = 'date'
